<?PHP
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// NOTICE OF COPYRIGHT                                                    //
//                                                                        //
// Dean`s Office for Moodle                                               //
// Электронный деканат                                                    //
// <http://deansoffice.ru/>                                               //
//                                                                        //
// Copyright (C) 2008-2999  Alex Djachenko (Алексей Дьяченко)             //
// alex-pub@my-site.ru                                                    //
// This program is free software: you can redistribute it and/or modify   //
// it under the terms of the GNU General Public License as published by   //
// the Free Software Foundation, either version 3 of the Licensen.        //
//                                                                        //
// This program is distributed in the hope that it will be useful,        //
// but WITHOUT ANY WARRANTY; without even the implied warranty of         //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          //
// GNU General Public License for more details.                           //
//                                                                        //
// You should have received a copy of the GNU General Public License      //
// along with this program.  If not, see <http://www.gnu.org/licenses/>.  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

// Подключаем библиотеки
require_once('lib.php');

$DOF->modlib('nvg')->print_header(NVG_MODE_PORTAL);

echo "<h1>Проверка работы синхронизаций</h1>";
// Добавляем адресс
$addres = new object();
$addres->type = 1;
$addres->postalcode = '123456';
$addres->country = 'RU';
$addres->region = 'RU-MOW';
$addres->county = 'район села Москва';
$addres->city = 'Москва';
echo "<br />Добавляем адресс, заблокировав вызов событий ";
if ($addressid=$DOF->storage('addresses')->insert($addres,true))
{
    echo " {$addressid} [ok]";
}

// Добавляем персону
$person = new object();
$person->firstname = 'Аматестимя';
$person->middlename = 'Аматестотчество';
$person->lastname= 'Аматестфамилия';
$person->email= 'del'.time().'@deansoffice.ru';
$person->sync2moodle= '1';
$person->addressid= $addressid;

echo "<br />Добавляем персону, заблокировав вызов событий ";
if ($personid=$DOF->storage('persons')->insert($person,true))
{
    echo " {$personid} [ok]";
}
echo "<br />Получаем запись о персоне назад ";
if ($person2=$DOF->storage('persons')->get($personid))
{
    echo " {$person2->id} [ok]";
}


echo "<br />Синхронизируем его с Moodle ";
if ($moodleid=$DOF->sync('personstom')->sync($person2))
{
    echo " {$moodleid} [ok]";
}

echo "<br />Получаем запись о персоне с установленным mdluser ";
if ($person2=$DOF->storage('persons')->get($personid) AND $person2->mdluser)
{
    echo " {$person2->mdluser} [ok]";
}

echo "<br />Отменяем синхронизацию и удаляем пользователя из Moodle ";
if ($DOF->sync('personstom')->unsync($person2))
{
    echo " [ok]";
}

echo "<br />тестирование получения пользователя из moodle по логину";
if ($user = $DOF->sync('personstom')->get_mdluser_byusername('admin'))
{
    echo " [ok]";
    print_object($user);
}

echo "<br />тестирование получения пользователя из moodle по id";
if ( $user = $DOF->sync('personstom')->get_mdluser(2) )
{
    echo " [ok]";
    print_object($user);
}

echo "<br />тестирование получения персоны по id moodle";
if ( $user = $DOF->sync('personstom')->get_person(46, false) )
{
    echo " [ok]";
    print_object($user);
}

echo "<br />тестирование получения персоны по логину moodle";
if ( $user = $DOF->sync('personstom')->get_person_byusername('megatest', false) )
{
    echo " [ok]";
    print_object($user);
}


$DOF->modlib('nvg')->print_footer(NVG_MODE_PORTAL);



?>